home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / PLUS4 / plus4disk2.d64 / ch8.07 nim < prev    next >
Text File  |  2009-01-03  |  5KB  |  73 lines

  1. Ç*NB"1:CH8.07  NIM"
  2. Ç*SP0:LM8:RM62:PL66:PG59
  3. Ç*VP3:HL8:HR72:HD0:├16/+4: ╙╘┴╥ ╬╔═                    ,,╙ECTION XX
  4. Ç*HS2:------------------------------------,,----------
  5. Ç*FT0:-----------------------,,----------
  6. Ç*FS3:(C) 1984 ┼LIZABETH ─EAL,,         Ç#
  7. ╙ECTION
  8. Ç*LN2:CN1;╙╘┴╥ ╬╔═Ç*LN2:CN0
  9.      ╘HIS TWO-PLAYER GAME IS A VARIATION OF THE POPULAR GAME ╬╔═. ╫HEN YOU STUDY THE CODE MANY OF THE THINGS WE COVERED IN THIS BOOK WILL BE REVIEWED: HIGH-RESOLUTION GRAPHICS, ARRAYS, STRING MANIPULATIONS AND PLENTY OF DECISION MAKING.
  10.  
  11.      ╙TAR ╬IM APPEARED YEARS AGO IN ═ARTIN ╟ARDNER'S ╙├╔┼╬╘╔╞╔├ ┴═┼╥╔├┴╬ COLUMN. ╘HE PLAYING FIELD IS STAR-SHAPED. ╘HE TOKENS TO PICK UP ARE LETTERS ┴ TO ╔. ╘HE NEW TWIST IN THIS GAME IS THAT A PLAYER CAN TAKE ONE OR TWO TOKENS DEPENDING ON THEIR POSITION WITHIN THE STAR. ╘O BE ABLE TO TAKE TWO TOKENS, THEY MUST BE CONNECTED BY A STRAIGHT LINE, OTHERWISE ONLY ONE CAN BE TAKEN.
  12.  
  13. // PIXPIC: STARNIM //
  14.  
  15.      ╘HE ILLUSTRATION SHOWS WHAT WAS ON THE SCREEN AT ONE POINT. ╔T CONTAINS THE STAR, WITH SOME TOKENS ALREADY REMOVED, AND A BIT OF INSTRUCTIONS. ╒NDERNEATH THIS PART OF THE SCREEN WE HAVE ANOTHER SECTION, THAT'S WHERE YOU ANSWER THE COMPUTER'S QUESTIONS:
  16.  
  17. // PIC: STARNIM //
  18.  
  19.      ╘HE COMPUTER IS A WATCHDOG OVER THE TWO PLAYERS. ╔T WATCHES THE GAME'S PROGGRESS AS WELL THE PLAYERS' MOVES. ╔T REMINDS YOU WHAT THE LAST TOKEN-LETTER WAS AFTER YOU PICKED THE FIRST ONE.
  20.  
  21. // PRG: STAR NIM //
  22.  
  23. Ç*FP11
  24. ***  ╟┴═┼ ╓┴╥╔┴┬╠┼╙: LINES 120-280  ***
  25.  
  26. ┴$   STRING CONTAINING THE TOPOLOGICAL
  27.      CONNECTIONS OF THE TOKENS
  28. ╠╬   LENGTH OF ┴$ - CONSTANT
  29. ╬    COUNTS REMAINING TOKENS ON THE BOARD
  30. ╨%   PLAYER NUMBER
  31. ╔    COUNTS UP TO 2 TOKENS
  32. ╔$,┴ KEYBOARD INPUT
  33. ╦    WHICH TOKEN IS BEING REMOVED
  34. ╨    PREVIOUS TOKEN REMOVED (IF TAKING 2)
  35.  
  36. Ç*FP14
  37. ***  ╟╥┴╨╚╔├ ╓┴╥╔┴┬╠┼╙: LINES 500-770  ***
  38.  
  39. ═$() TOKEN LETTERS ON THE GRAPHIC SCREEN
  40. ┬$   BLANKS WHEN A TOKEN IS REMOVED
  41. ├╪,├┘ CENTER OF THE STAR
  42. ├┴   ANGLE OF 40-DEGREES (360/9 POINTS)
  43. ╥    ITS RADIUS
  44. ┴    ANGLE FOR LINE DRAWING
  45. ╩    COUNTS TOKEN NUMBERS 1-9
  46. ╙╪(),╙┘() LOCATIONS OF EACH TOKEN
  47. ╘╪(),╘┘() LOCATIONS OF STAR TIPS
  48. ┴()  ANGLE FOR EACH TOKEN
  49. ╓╓   IS ╙╪() CORRECTED TO FIT NEXT TO, RATHER
  50.      THAN ON THE STAR, RELATED TO ┴()
  51.  
  52. ***  ╔╬╙╘╥╒├╘╔╧╬╙  ***
  53.  
  54.      ╘HE FUNNY LOOKING GRAPHIC CHARACTERS AT THE END OF LINE 170 SAY "╥┼╘╒╥╬" IN SHIFTED LETTERS. ╘HE GAME WILL PLAY IN THE LOWER CASE MODE, SO THE WORD ╥┼╘╒╥╬ WILL PRINT CORRECTLY. ╧NLY ONE OTHER GRAPHIC CHARACTER IS NEEDED: IN LINE 140 PRECEEDE "╨╠┴┘┼╥" WITH ╥╓╙ (NOT REALLY VITAL).
  55.  
  56.      ╥╒╬ IT, AND FOLLOW THE SCREEN INSTRUNCTIONS.
  57.  
  58. ***  ─┼╘┴╔╠╙  ***
  59.  
  60.      ╘HE SPLIT SCREEN TECHNIQUE IS USED. ╘HE STAR AND THE INSTRUCTIONS ARE ON THE TOP PART, THE NORMAL SCREEN IS AT THE BOTTOM. ╘HE STAR DRAWING OCCURS IN LINES 600-720 OF THE PROGRAM. ╚ERE WE DO MORE THAN JUST DRAW THE STAR, WE REMEMBER A POSITION OF EACH TOKEN (LINE 670), SO THAT LATER ON, WHEN THE TOKEN IS BEING REMOVED, WE WILL NOT HAVE TO RECALCULATE.
  61.  
  62.      ╘HE TOKENS ARE PLACED ON THE HIGH RESOLUTION SCREEN USING THE SHAPE-SAVING/PLACING COMMANDS ╙╙╚┴╨┼ AND ╟╙╚┴╨┼. ╔NITIALLY, WE PLACE EACH LETTER IN THE UPPER LEFT HAND CORNER, AND SAVE THE LETTERS AS SHAPES, SEE LINE 600. ╘HIS PERMITS US TO PLACE THE LETTERS WHEREVER WE PLEASE, NOT JUST IN A LOCATION THAT IS A MULTIPLE OF EIGHT, AS IS THE CASE WITH NORMAL ├╚┴╥ COMMAND. ┴LSO, IT APPEARS, THAT WHEN YOU USE THE ├╚┴╥ COMMAND IN THE TEXT PORTION OF THE SCREEN, YOU CANNOT AT THE SAME TIME USE IT IN THE GRAPHIC PORTION OF THE SCREEN. ╒SING THE ╪╙╚┴╨┼ COMMANDS HELPS US SOLVE THIS LITTLE PROBLEM.
  63.  
  64.      ╘HE POSITIONS FOR THE STAR POINTS ARE DETERMINED BY FIRST DRAWING A SET OF DOTS (SEE LINES 640-650). ╘HEN THE LINE IS INVISIBLY EXTENDED BY 20% OF THE RADIUS FOR THE ACTUAL TOKEN PLACEMENT (LINE 660). ╞INALLY, AFTER A SMALL CORRECTION FOR ALL THE ONES ON THE LEFT SIDE, (SUBROUTINE 740), THE TOKEN LETTERS ARE PLACED AND THEIR POSITIONS REMEMBERED IN ARRAYS ╙╪ AND ╙┘.
  65.  
  66.      ╞INALLY, THE CONNECTING LINES ARE DRAWN AS DETERMINED BY THE ENTIRE TOPOLOGY OF THIS GAME WHICH IS CODED IN ┴$ IN LINE 120.
  67.  
  68.      ╘HE GAME LOOP SPANS LINES 140-280.  ╨LAYERS ALTERNATE, PROMPTS ARE PRINTED ON THE BOTTOM PART OF THE SCREEN AND THE USER RESPONSE IS CHECKED AGAINST A LIST OF PERMITTED MOVES (LINES 180-210). ╫HEN THE TOKEN LETTER IS LEGAL, IT IS REMOVED FROM THE LIST OF AVAILABLE LETTERS, THIS IS CODED IN LINE 250.
  69.  
  70. ***  ╨╥╧╩┼├╘  ***
  71.  
  72.      ╥EWRITE THE GAME, SO THAT THE COMPUTER CAN BE ONE OF THE PLAYERS. ╚INTS: AN EASY WAY IS RANDOM PICKS. ═ORE DIFFICULT, BUT MUCH MORE REWARDING TO CODE IS TO PROGRAM A STRATEGY BASED ON THE OTHER PLAYER'S MOVES AS WELL AS THE CURRENT BOARD SITUATION.
  73.